<?php
	namespace Admin\Controller;
	use Think\Controller;
	class TypeController extends PublicController
	{
		public function index()
		{
			//实例化model类
			$Type = M('book_types');

			//查询数据库所有图书分类
			$data = $Type->where('status=1')->select();

			//使用getlist方法实现无限极分类
			$result =  \Org\LAMP\CatTree::getlist($data);
				// dump($result);exit;
			//赋值变量
			$this->assign(data,$result);

			//输出模版
			$this->display();
		}

		//添加分类
		public function add(){
			//实例化model类
			$Type = M('book_types');

			//查询出所有分类信息
			$data = $Type->select();

			//使用getlist方法实现无限极分类
			$result = \Org\LAMP\CatTree::getlist($data);
			//dump($result);exit;
			//赋值变量
			$this->assign(data,$result);

			//输出模版
			$this->display();
		}

		//执行添加分类功能
		public function insert()
		{
			//实例化model类
			$Type = M('book_types');
			
			//执行添加分类方法
			$res = $Type->add(I('post.'));
			if($res){
				$this->success('添加分类成功',U('type/index'),2);
			}else{
				$this->error('添加分类失败');
			}	
		}

		//根据id进行数据查询
		public function edit()
		{
			//实例化model类
			$Type = M('book_types');

			//进行数据查询
			$data = $Type->find(I('get.id'));

			//赋值变量
			$this->assign(data,$data);

			//输出模版
			$this->display();
			
		}
		//修改分类名
		public function update()
		{
			//实例化model类
			$Type = M('book_types');

			//执行修改方法
			$res = $Type->save(I('post.'));

			if($res)
			{
				$this->success('修改成功',U('type/index'),2);
			}else{
				$this->error('修改失败');
			}
		}

		//分类禁用功能
		public function jinyong()
		{
			//实例化model类
			$Type = M('book_types');
			//获得childs来判断分类是否含有子集
			$childs = I('get.childs');
			if(empty($childs)){
				//为空则是最子集可以执行拉黑
				//把状态修改为0
				$data['status'] = 0;
				$data['id'] = I('get.id');
				$res = $Type->save($data);
				if($res){
					$this->success('禁用成功',U('type/index'),2);
				}else{
					$this->error('禁用失败');
				}

			}else{
				$this->error('不可以禁用');
			}

		}


		//禁用页面
		public function jinyongshow()
		{
			//实例化model类
			$Type = M('book_types');

			//查询出所有被禁用的类
			$data = $Type->where('status=0')->select();

			//赋值变量
			$this->assign(data,$data);
			$this->display();
		}


		//开启被禁用分类
		public function start()
		{
			//实例化model类
			$Type = M('book_types');

			$data['status'] = 1;
			$data['id']     = I('get.id');
			//执行修改方法
			$res = $Type->save($data);

			if($res){
				$this->success('开启成功',U('type/jinyongshow'),2);
			}else{
				$this->error('开启失败');
			}
		}
	}